package com.example.eeuse.elasticsearch.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.dromara.easyes.annotation.HighLight;
import org.dromara.easyes.annotation.IndexName;

import java.util.Date;


/**
 * ES数据模型
 * <p>
 * Copyright © 2021 xpc1024 All Rights Reserved
 *
 *
 * @EqualsAndHashCode(callSuper=false)是Java中的一个注解，用于在类的实例化过程中生成其哈希码（hashCode）和比较对象是否相等（equals）的方法。这个注解是在Java的Guava库中提供的。
 *
 * callSuper参数表示是否在生成hashCode和equals方法时调用父类的同名方法。如果设置为false，则不调用父类的方法，也就是完全不使用父类的字段来生成hashCode和判断equals。如果设置为true，则会调用父类的方法，也就是会使用父类的字段来生成hashCode和判断equals。
 *
 * 例如，假设我们有一个名为Person的类，它有两个字段：name和age，并且它的父类是Object。如果我们使用@EqualsAndHashCode(callSuper=false)注解，那么生成的hashCode和equals方法将只考虑name和age字段，不会考虑Object类中的任何字段。而如果我们使用@EqualsAndHashCode(callSuper=true)，那么生成的hashCode和equals方法将同时考虑name、age以及Object类中的所有字段。
 *
 * 注意，使用这个注解时需要谨慎，因为它可能会改变对象相等性的判断方式。在某些情况下，你可能希望完全忽略父类的字段，而在其他情况下，你可能希望考虑它们。
 *
 *
 *
 *
 *
 *
 **/
@EqualsAndHashCode(callSuper=false)
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
@IndexName("us_news_media_china_economy_reception")
public class UsNewsMediaChinaEconmonmy {
    private UsNewsMediaChinaEconmonmy usNewsMediaChinaEconmonmy;




    /**
     * es中的唯一id
     */
    private String id;


    /**
     * 文档标题
     */
    private String title;



    /**
     * 文档内容
     */


    @HighLight
    private String content;



    private String uuid;


    private String author;


    private String article_url;


    private String website_name;

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date pubtime;
}




